热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

请看|间隔时间_Postgresql主从复制

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Postgresql 主从复制相关的知识,希望对你有一定的参考价值。 pgsql主从复制操作系统:centos数据库

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Postgresql 主从复制相关的知识,希望对你有一定的参考价值。




pgsql主从复制

操作系统:centos


数据库: postgresql 13.3


postgresql 13.3 安装请看 https://blog.51cto.com/suncj/4829793

数据库执行文件目录

/usr/local/pgsql
/db/postgres-log

数据库文件目录:

/db/pgsql/data














主:192.168.5.131pgsql13.3
从:192.168.5.133pgsql13.3

一、主库配置


1.创建具有流复制权限的用户

CREATE ROLE replica login replication encrypted password 123456;

2.编辑pg_hba.conf

[root@localhost data]# vim pg_hba.conf
host replication replica 192.168.5.133/32 md5
host all all 192.168.5.133/32 trust

3.编辑postgresql.conf

[root@localhost data]# vim postgresql.conf
#监听所有ip
listen_addresses = *
#开启归档
archive_mode = on
#归档命令
archive_command = cp %p /db/pgsql/archive/%f
#9.6开始没有hot_standby(热备模式)
wal_level = replica
#最多有10个流复制连接
max_wal_senders = 10
wal_keep_size = 64
#流复制超时时间
wal_sender_timeout = 60s
#最大连接数,从机大于或等于
max_cOnnections= 100

重启postgresql

[root@localhost data]# service postgresql restart

二、从库配置


1.验证在从库是否可以访问主节点

[root@localhost data]# psql -h 192.168.5.131 -U postgres
psql (13.3)
Type "help" for help.
postgres=#

2.停止从库postgresql服务

[root@localhost data]# service postgresql stop

3.清空从库数据库存储目录

[root@localhost data]# rm -rf /db/pgsql/data/*

4.从主服务器上copy数据到从服务器(ip是主节点IP地址)

[root@localhost data]# pg_basebackup -h 192.168.5.131 -p 5432 -U replica -Fp -Xs -Pv -R -D /db/pgsql/data/

5.此时data目录下会出现standby.signal

[root@localhost data]# vim standby.signal
standby_mode = on

6.修改postgresql.conf文件

[root@localhost data]# vim postgresql.conf
#从机信息和连接用户
primary_cOnninfo= host=192.168.5.131 user=replica password=123456
#说明恢复到最新状态
recovery_target_timeline = latest
#大于主节点,正式环境重新考虑此值的大小
max_cOnnections= 120
#说明这台机器不仅可以用户数据归档,还可以用于数据查询
hot_standby = on
#流备份的最大延迟时间
max_standby_archive_delay = 30s
#向主机汇报本地状态的间隔时间
wal_receiver_status_interval = 10s
#出现错误复制,向主机反馈
hot_standby_feedback = on

7.开启从的数据库

[root@localhost data]# service postgresql start

三、验证主从搭建是否成功


1.登录主的数据库

[root@localhost data]# psql -U postgres
psql (13.3)
Type "help" for help.
postgres=# select client_addr,sync_state from pg_stat_replication;
client_addr | sync_state
---------------+------------
192.168.5.133 | async
(1 row)
postgres=#

2.在主节点上创建ceshi数据库,看看从节点能不能收到

postgres=# create database ceshi;
postgres=# \\l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
ceshi | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |

3.从节点查看

postgres=# \\l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
ceshi | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
postgres | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |

推荐阅读
  • Android中解析XML文件的实践指南
    本文详细介绍了在Android应用开发中解析XML文件的方法,包括从本地文件和网络资源获取XML文件的不同途径,以及使用DOM、SAX和PULL三种解析方式的具体实现。 ... [详细]
  • YB02 防水车载GPS追踪器
    YB02防水车载GPS追踪器由Yuebiz科技有限公司设计生产,适用于车辆防盗、车队管理和实时追踪等多种场合。 ... [详细]
  • 本文探讨了在渗透测试中信息收集阶段使用的几种端口扫描技术,包括nmap、masscan、socket、telnet及nc等工具的应用与比较。 ... [详细]
  • 本文详细介绍了ActivityManagerService (AMS) 的工作原理及其在Android系统中的重要角色。AMS作为system_server进程的一部分,在系统启动时加载,负责管理和协调应用程序中的Activity和服务(Service)。文章将通过具体的接口图和通信流程,帮助读者更好地理解AMS的工作机制。 ... [详细]
  • EasyMock实战指南
    本文介绍了如何使用EasyMock进行单元测试,特别是当测试对象的合作者依赖于外部资源或尚未实现时。通过具体的示例,展示了EasyMock在模拟对象行为方面的强大功能。 ... [详细]
  • 详细指南:使用IntelliJ IDEA构建多模块Maven项目
    本文在前两篇文章的基础上,进一步指导读者如何在IntelliJ IDEA中创建和配置多模块Maven项目。通过详细的步骤说明,帮助读者掌握项目模块化管理的方法。 ... [详细]
  • js常用方法(1)startWithJava代码varstartsWithfunction(str,regex){if(regexundefined||strundefined|| ... [详细]
  • Spring Security核心概念与应用实践
    本文详细介绍了Spring Security的核心机制,包括其作为一系列过滤器的工作原理,如何实现用户认证与授权,以及常见的配置方法和高级特性如CSRF防护。 ... [详细]
  • 本文探讨了如何在Android应用中实现图片的保存至外部存储,并通过原生方式分享这些图片。主要介绍了保存图片的不同策略以及通过Intent进行文件分享的具体步骤。 ... [详细]
  • 探索Squid反向代理中的远程代码执行漏洞
    本文深入探讨了在网站渗透测试过程中发现的Squid反向代理系统中存在的远程代码执行漏洞,旨在帮助网站管理者和开发者了解此类漏洞的危害及防范措施。 ... [详细]
  • Android商城应用开发指南(第二部分):创建启动欢迎页
    大多数商城应用程序在启动时会显示一个欢迎页面,以提升用户体验。本文将指导您如何实现一个基本的欢迎页,该页面会在用户打开应用后短暂展示,随后自动跳转至主界面。 ... [详细]
  • MainActivityimportandroid.app.Activity;importandroid.os.Bundle;importandroid.os.Handler;im ... [详细]
  • 当客户端向服务器发起请求时,通常会携带一系列请求参数。例如,在执行数据库记录删除操作时,需要通过请求传递一个用于标识记录的主键值。 ... [详细]
  • 利用Python实现自动化群发邮件
    本文详细介绍如何使用Python语言来实现邮件的自动群发功能,适合希望提高工作效率的技术爱好者和开发者。 ... [详细]
  • 本文介绍了在Java开发中如何使用org.jspresso.framework框架下的AbstractFrontendController类中的createLoginCallbackHandler方法,并提供了具体的代码示例。 ... [详细]
author-avatar
心星Lover
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有